package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.geom.Rectangle;
/**
*贝塞尔曲线绘制算法
* @author boycy815*/
public class Main extends Sprite
{
/*C30到C33的值总共才4个直接枚举*/
private const C30:int = 1;
private const C31:int = 3;
private const C32:int = 3;
private const C33:int = 1;
/*定义曲线上点的个数(包括两端)*/
private const LENGTH:int = 10000;
/*btC30到btC33分别是R0 R1 R2 R3四个点当t取前三个值时的权重值*/
private var btC30:Vector. = new Vector.(3);
private var btC31:Vector. = new Vector.(3);
private var btC32:Vector. = new Vector.(3);
private var btC33:Vector. = new Vector.(3);
/*画点的位图*/
private var data:BitmapData;
private var map:Bitmap;
/*用于连接四个点的四条直线*/
private var lin:Shape;
/*分别是四个点的显示对象*/
private var ct0:Sprite;
private var ct1:Sprite;
private var ct2:Sprite;
private var ct3:Sprite;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
/*初始化位图和一些显示对象